package org.wxl.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author 王学良
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("subtitles")
public class subtitlesEntity implements Serializable {
    /**
     * CREATE TABLE `subtitles` (
     *   `uuid` CHAR(36) NOT NULL COMMENT '字幕ID',
     *   `video_uuid` CHAR(36) NOT NULL COMMENT '关联的视频UUID',
     *   `subtitle_path` VARCHAR(512) NOT NULL COMMENT '字幕文件存储路径',
     *   `language` VARCHAR(50) NOT NULL DEFAULT 'zh-CN' COMMENT '字幕语言',
     *   `uploader_id` VARCHAR(32) NOT NULL COMMENT '上传者ID',
     *   `upload_time` DATETIME(6) DEFAULT CURRENT_TIMESTAMP(6) COMMENT '上传时间',
     *   `status` VARCHAR(4) DEFAULT '3' COMMENT '状态（0:审核中，1:正常，3:禁用）',
     *   `access_permission` VARCHAR(4) DEFAULT '0' COMMENT'访问权限（0:个人可见，1:公开）',
     *   PRIMARY KEY (`uuid`)
     * ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='字幕表';
     */

    @Schema(description = "字幕UUID")
    @TableId(value = "uuid")
    private String uuid;

    @Schema(description = "视频UUID")
    private String videoUuid;

    @Schema(description = "字幕路径")
    private String subtitlePath;

    @Schema(description = "字幕语言")
    private String language;

    @Schema(description = "上传者ID")
    private String uploaderId;

    @Schema(description = "上传时间")
    private LocalDateTime uploadTime;

    @Schema(description = "状态（0:审核中，1:正常，3:禁用）")
    private String status;

    @Schema(description = "访问权限（0:个人可见，1:公开）")
    private String accessPermission;

}
